#ifndef _CMDPROCESSING_H_
#define _CMDPROCESSING_H_

#include "../_public.h"
#include "../common_types.h"
#include "../include/utils.h"

/*
*   此头文件用于声明client.c中进行命令处理相关的函数以及类型定义
*/

// 获取命令，即如果输入mkdir cpp，拿到mkdir
/*
 *description:
 *       将标准输入中的命令字符串
 *       需要配合freeTokens函数使用，以释放tokens的堆空间
 *usage:
 *       int size;
 *       char *command = "cd /home/usr/zs"
 *       char **tokens = spilitcFunc("cd /usr/local", &size);      
 *       // tokens = {"cd", "usr", "local"};
 *       freeTokens(&tokens, size);
 *paras:
 *       commmand       标准输入中读取的原始输入命令字符串
 *       cmdType        命令类型  
 *returns:
 *      分割后的token列表
 *
 *修订记录：
 *********************************************************
 *修订1
 *      函数声明由：int getCommand(char *command, char *cmd);
 *      变更为：CMD_TYPE getCommandType(const char *command, char **cmdType);
 *       
 *      修订时间：2024.07.07
 *      修订人：曾爽
 *      修订原因：
 *          1.返回值未使用且没有明确含义；
 *          2.command, cmd表意不够清晰、明确;
 * 
 *********************************************************   
 */
// CMD_TYPE getCommandType(const char *command, char **cmdType);
CMD_TYPE getCommandType(const char *command, char *cmdType);

#endif